/*------------------------------------------------------------------------------
 *
 * --- PROPRIETARY AND CONFIDENTIALITY NOTICE ---
 * The information contained herein is confidential and proprietary to
 * Smiths Aerospace Inc., Electronic Systems and shall not be reproduced,
 * distributed, modified, or disclosed in whole or in part or used for any
 * design or manufacture except by an authorized user who possesses direct
 * written authorization from Smiths Aerospace Inc., Electronic Systems and
 * who is obligated to maintain the confidentiality of the information.
 *
 * Copyright 2005, Smiths Aerospace.
 * All rights reserved.
 *------------------------------------------------------------------------------
 */
/*
// RDC_DataStructs.h
//This file contains the basic header information required for the RDC messages.  
*/

#ifndef __INCLUDE_RDC_DATASTRUCTS_H__
#define __INCLUDE_RDC_DATASTRUCTS_H__

#define FS_NO_DATA 0x00
#define FS_NORMAL_OPERATION 0x03
#define FS_FUNCTIONAL_TEST 0x0C
#define FS_NO_COMPUTED_DATA 0x30


/* The following data structures were generated based on D6-16Z002-01:
 * "787 Data Payload Format Requirements", Revision A
 */
 
 
/* Structure for Functional Status Bytes, as described by D6-16Z002-01 */
typedef struct D616Z002_MESSAGE_FSS_STRUCT
{
    UINT8 FS1;
    UINT8 FS2;
    UINT8 FS3;
    UINT8 FS4;
} MESSAGE_FSS_TYPE;


/* Structure for Reserved Word, as described by D6-16Z002-01 */
typedef struct D616Z002_MESSAGE_RESERVED_STRUCT            
{
    UINT32 RESERVED;
} MESSAGE_RESERVED_TYPE;

/* The following data structures were generated based on SDD14551-1:
 *  "RDC I/O Catalogue"
 */

/* Structure for payloads conforming to RDC Template 13000 (discrete input) */
typedef struct RDC_TEMPLATE_13023_STRUCT
{
    UINT32 BITS;
} RDC_DISCRETE_INPUT_TYPE;

/* Structure for payloads conforming to RDC Template 11022 (discrete output) command structure */
typedef struct RDC_TEMPLATE_11022_COMMAND_STRUCT
{
    UINT32 BITS;
} RDC_DISCRETE_OUTPUT_COMMAND_TYPE;

/* Structure for payloads conforming to RDC Template 11022 (discrete output) response structure */
typedef struct RDC_TEMPLATE_11022_RESPONSE_STRUCT
{
    UINT16 PAD;
    UINT16 VOLTS;
    UINT32 OPEN;
    UINT32 GROUND;
    UINT32 STATE;
} RDC_DISCRETE_OUTPUT_RESPONSE_TYPE;



//#ifdef CAN_SUPPORT
typedef struct CAN_MSG_ETH_STRUCT
{
//    uint8_t frameInfo;
    UINT16  CANID;
    UINT8  MSG[8];
    UINT16  LENGTH;
} CAN_MSG_ETH_TYPE;

typedef struct CAN_DISCRETE_OUTPUT_RESPONSE_STRUCT
{
    MESSAGE_RESERVED_TYPE             RESERVED;
    MESSAGE_FSS_TYPE                  FSS;
    CAN_MSG_ETH_TYPE                  CAN_MSG;
} CAN_DISCRETE_OUTPUT_RESPONSE_TYPE;


#endif
